package com.shanzmoo.db.store.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 仓库发货单
 * </p>
 *
 * @author Gzhao
 * @since 2021-03-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("store_delivery_bill")
public class StoreDeliveryBillEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 发货单号
     */
    private String billNo;

    /**
     * 发货类型：0-物流，1-自提
     */
    private Integer sendType;

    /**
     * 物流单号
     */
    private String logisticsNo;

    /**
     * 物流公司
     */
    private String logisticsCompany;

    /**
     * 发货人
     */
    private Integer sendUser;

    /**
     * 发货时间
     */
    private LocalDateTime sendTime;

    /**
     * 用户ID
     */
    private Integer memberId;

    /**
     * 用户类型：0-member_info用户，1-store_member用户
     */
    private Integer memberType;

    /**
     * 关联单号
     */
    private String originOrder;

    /**
     * 关联单据类型：1-门店订单，2-商城订单，3-售后订单，4-第三方订单 , 5-手动出库单
     */
    private Integer originOrderType;

    /**
     * 门店id
     */
    private Integer outletId;

    /**
     * 状态：0-待确认,1-待发货,2-已发货,9-已取消
     */
    private Integer status;

    /**
     * 收件人
     */
    private String consignee;

    /**
     * 收件人手机
     */
    private String consigneeMobile;

    /**
     * 收件人所在省市区
     */
    private String consigneeDistrict;

    /**
     * 收件人详细地址
     */
    private String consigneeAddress;

    /**
     * 备注
     */
    private String remark;

    /**
     * 取消原因
     */
    private String cancelReason;

    /**
     * 创建人
     */
    private Integer createUser;

    /**
     * 更新人
     */
    private Integer updateUser;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 逻辑删除，0-未删除 1-已删除
     */
    private Boolean deleted;


}
